﻿package com.moonshineproject.text.change 
{
	
	public class TextChangeBase
	{
		protected var _startLine:int;
		protected var _startChar:int;
		
		public function get startLine():int	{ return _startLine; }
		public function get startChar():int	{ return _startChar; }
		
		internal static function get UNBLOCK():TextChangeBlocker { return new TextChangeBlocker(); }
		
		public function TextChangeBase(block:TextChangeBlocker)
		{
			if (!block) throw new Error("TextChangeBase cannot be instantiated directly.");
		}
		
		public function getReverse():TextChangeBase
		{
			throw new Error("TextChangeBase.getReverse must be overriden in sub-class.");
		}
		
	}

}

class TextChangeBlocker {}